/**
 *系统配置模块
 * 1、微信账号配置
 * 2、渠道常量配置
 * 3、数据库配置
 * 4、微信Token生成
 */

//全量模块、每个模块都会引用的
var _ljs=require("./mmlog").root("[sever/config.js]");

//系统模块
var fs = require("fs");

//第三方模块
var superagent = require("superagent");

//变量声明
var _wechat = null,
	_configData=null,
	_token=null;

var _self = {

	init: function(callback) {
		try{
			_configData = fs.readFileSync("output/config.json","utf-8");
			_configData=JSON.parse(_configData);
			
			function token(){
				var _wx=_configData.wechat;
				var a=_wx.appid;
				var s=_wx.secret;
				var url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+a+"&secret="+s;
				superagent.get(url)
					.end(function(error, descr) {
						var d=JSON.parse(descr.text);
						_ljs.info("获取Token",d);
						_token=d.access_token;
					})
			}
			token();
			setInterval(function(){
				token();
			},1.5*60*60*1000)
			_ljs.info("配置文件加载完成:\n",_configData);
			callback && callback(_self,_configData);
		}catch(e){
			_ljs.error("配置文件加载失败:\n",e);
			callback && callback(-1);
		}
		
	},

	file:function(){
		return _configData.fileServer;
	},
	
	business:function(){
		return _configData.business;
	},
	
	db:function(){
		return _configData.db;
	},
	
	mail:function(){
		return _configData.email;
	},
	
	wechat: function(type) {
		if (type == "config") {
			return _configData.wechat;
		} else if (type == "at") {
			return _token;
		}
	},
	
	vars: {
		wechat: 1001,
		qq: 1002
	},

	dataSource: {
		multipleStatements: true,
		connectionLimit: 20,
		host: '121.42.147.235',
		user: 'root',
		password: 'abc123',
		database: 'mmlink'
	}
}

module.exports=_self;